计算机软件安全是怎么实现的
计算机软件安全涉及软件的机密性、完整性、可靠性、有效性和合法性等内容。计算机软件安全的实现途径有以下几方面:
保护软件系统的自身安全:软件系统是由计算机程序、数据和相关文档组成的集合。如果某一个环节受到破坏,造成资料丢失、被篡改、被伪造等,就会对整个软件系统构成严重威胁,使之失去完整性。所以必须采取严格的防范措施,防止此类事件发生,特别是需要重点保护保存在某种介质上的软件资料的安全,以防丢失。
保护软件系统的存储安全:通常软件系统中的程序和数据都是保存在存储介质上的,需要时才调入计算机内存,因此,保护软件系统的存储安全尤为重要。根据不同的应用和安全需求,可对软件系统采取保密存储、压缩存储和备份存储等不同的存储策略。不论采用何种存储策略,必须保证存储的可靠性和可恢复性,这是存储安全的最基本要求。
保护软件系统的通信安全:软件系统的通信安全是指软件系统的安全传输问题。在信息系统中,把软件系统作为数据对象进行传输,其安全性与数据对象的安全性要求是一样的。
保护软件系统的使用安全:软件系统的使用安全主要是确保软件被合法用户正确使用。它包含两层意思,一是软件必须被合法用户所使用;二是合法用户不能滥用。保证软件被合法用户使用就需要防止软件被偷窃和被非法复制;保证合法用户不滥用软件就需要对合法用户进行教育和培训,并加强管理。在信息系统中,通常采取访问控制机制来区分合法用户和非法用户,并通过授权访问机制来限制合法用户的操作行为,防止其滥用。
保护软件系统的运行安全:软件最终是要代表某个用户在信息系统中独立完成特定工作的,这是软件与信息系统中普通数据的唯一区别。保护软件系统的运行安全就是要保证软件的正常运行和完成正常的功能,防止软件在运行过程中被监视、干扰和被篡改。
保证软件的正常运行一方面需要提供一个安全可靠的系统硬件平台,另一方面需要防止软件被监视、干扰和被篡改,更重要的是防止软件在运行期间被恶意跟踪。根据目前信息处理系统的结构特点,所有的软件不论运行前以何种形式存在,在运行时都必须转换成CPU可识别的指令形式,如果CPU的工作能被监控,那么软件的运行过程就很容易被复制,软件的机密性也就不存在了,进而威胁整个软件系统和数据的安全。因此,为了保证软件的运行安全,必须防止软件跟踪。软件能否完成正常的功能是属于软件质量问题,它与软件开发商有直接的关系。从系统安全角度上讲,一般要求软件开发商必须严格按用户要求来开发应用软件,因为应用软件就是代表着用户的利益。软件开发商所提交的软件产品必须经过严格的质量检验达到一定的质量标准,否则,软件安全也难以得到保证,例如,假设软件开发商先前为开发软件而预留的“后门”忘记关闭,而这个“后门”又被非法用户得知,那么,软件系统的使用安全和运行安全就无法保证了。由此可见,软件质量问题在计算机软件安全中是不容忽视的。